﻿<UserControl
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:Custom="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon"  x:Class="UML_Creator.View.MvvmView3"
        xmlns:vm="clr-namespace:UML_Creator.ViewModel"
        mc:Ignorable="d">

    <StackPanel>
        <Ribbon>
            <Ribbon.Resources>
                <ResourceDictionary>
                    <RibbonGroupSizeDefinitionBaseCollection x:Key="RGroupSize1Big3Small">
                        <RibbonGroupSizeDefinition>
                            <RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True"/>
                            <RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True"/>
                            <RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True"/>
                        </RibbonGroupSizeDefinition>
                    </RibbonGroupSizeDefinitionBaseCollection>
                </ResourceDictionary>
            </Ribbon.Resources>
            
            <Ribbon.ApplicationMenu>
                <RibbonApplicationMenu Label="File" SmallImageSource="../Images/Menu.ico" LargeImageSource="../Images/Menu.ico">
                    <RibbonApplicationMenuItem Header="New" ImageSource="/UML_Creator;component/Images/New_File_32x32.png" Command="{Binding Path=NewDocument}" />
                    <RibbonApplicationMenuItem Header="Open" ImageSource="/UML_Creator;component/Images/open_32.png" Command="{Binding Path=LoadFileCommand}" />
                    <RibbonApplicationMenuItem Header="Save" ImageSource="/UML_Creator;component/Images/save_32.png" Command="{Binding Path=SaveFileCommand}" />
                    <RibbonApplicationMenuItem Header="Save As" ImageSource="/UML_Creator;component/Images/save_as_32.png" IsEnabled="False" />
                    <RibbonSeparator />
                    <RibbonApplicationSplitMenuItem Header="Export As" ImageSource="/UML_Creator;component/Images/export_32.png" IsEnabled="False">
                        <RibbonApplicationMenuItem Header="Export as PNG" ImageSource="/UML_Creator;component/Images/png_icon_32.png" />
                        <RibbonApplicationMenuItem Header="Export as PDF" ImageSource="/UML_Creator;component/Images/pdf_icon_32.png" />
                    </RibbonApplicationSplitMenuItem>
                    <RibbonSeparator />
                    <RibbonApplicationMenuItem Header="Close" ImageSource="/UML_Creator;component/Images/delete_exit_icon_32.png" Command="{Binding Path=CloseCommand}" IsEnabled="False"/>
                </RibbonApplicationMenu>
            </Ribbon.ApplicationMenu>
            
            <Ribbon.QuickAccessToolBar>
                <RibbonQuickAccessToolBar>
                    <RibbonButton SmallImageSource="/UML_Creator;component/Images/save_16.png" Command="{Binding Path=SaveFileCommand}" />
                    <RibbonButton SmallImageSource="/UML_Creator;component/Images/Undo_16x16.png" Command="{Binding UndoCommand}" CanAddToQuickAccessToolBarDirectly="False"/>
                    <RibbonButton SmallImageSource="/UML_Creator;component/Images/Redo_16x16.png" Command="{Binding RedoCommand}" CanAddToQuickAccessToolBarDirectly="False"/>
                </RibbonQuickAccessToolBar>
            </Ribbon.QuickAccessToolBar>
            
            <RibbonTab x:Name="RTabHome" Header="Home">
                <RibbonGroup Header="Clipboard" GroupSizeDefinitions="{StaticResource RGroupSize1Big3Small}">
                    <RibbonButton Label="Paste" LargeImageSource="/UML_Creator;component/Images/paste_32x32.png" Command="{Binding Path=PasteFromClipboardCommand}" />
                    <RibbonButton Label="Copy" SmallImageSource="/UML_Creator;component/Images/copyHS.png" Command="{Binding Path=CopyToClipboardCommand}" />
                    <RibbonButton Label="Cut" SmallImageSource="/UML_Creator;component/Images/cutHS.png" Command="{Binding Path=CutToClipboardCommand}" />
                </RibbonGroup>
                <RibbonGroup Name="RGroupTools" Header="Tools">
                    <RibbonButton Label="Select" LargeImageSource="/UML_Creator;component/Images/select-icon.png" Command="{Binding SelectStateCommand}" />
                    <RibbonButton Label="Move" LargeImageSource="/UML_Creator;component/Images/move.ico" Command="{Binding MoveStateCommand}" />
                    <RibbonButton Label="Delete" Command="{Binding DeleteSelectedCommand}" />
                </RibbonGroup>
            </RibbonTab>
            
            <RibbonTab x:Name="RTabClassDiagram" Header="Class Diagram">
                <RibbonGroup Name="RGroupClassDiagramMembers" Header="Members">
                    <RibbonGroup.GroupSizeDefinitions>
                        <RibbonGroupSizeDefinition>
                            <RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True"/>
                            <RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True"/>
                        </RibbonGroupSizeDefinition>
                    </RibbonGroup.GroupSizeDefinitions>
                    <RibbonButton Label="Class" SmallImageSource="../Images/class_diagram_member_class_16.png" LargeImageSource="../Images/class_diagram_member_class_32.png" Command="{Binding Path=AddNodeCommand}" CommandParameter="{x:Static vm:EnumDiagramType.ClassDiagram}" />
                    <RibbonButton Label="Interface" SmallImageSource="../Images/class_diagram_member_interface_16.png" LargeImageSource="../Images/class_diagram_member_interface_32.png" Command="{Binding Path=AddNodeCommand}" CommandParameter="{x:Static vm:EnumDiagramType.InterfaceDiagram}" />
                </RibbonGroup>
                <RibbonGroup Name="RGroupClassDiagramRelations" Header="Relations">
                    <RibbonButton Label="Association" SmallImageSource="../Images/class_diagram_relation_association_16.png" LargeImageSource="../Images/class_diagram_relation_association_32.png" Command="{Binding Path=AddEdgeCommand}"/>
                    <RibbonButton Label="Aggregtion" SmallImageSource="../Images/class_diagram_relation_aggregation_16.png" LargeImageSource="../Images/class_diagram_relation_aggregation_32.png" Command="{Binding Path=AddEdgeCommand}" CommandParameter="1"/>
                    <RibbonButton Label="Composistion" SmallImageSource="../Images/class_diagram_relation_composition_16.png" LargeImageSource="../Images/class_diagram_relation_composition_32.png" Command="{Binding Path=AddEdgeCommand}" CommandParameter="2" />
                    <RibbonButton Label="Is a" LargeImageSource="../Images/class_diagram_relation_is_a_32.png" SmallImageSource="/UML_Creator;component/Images/class_diagram_relation_is_a_16.png" Command="{Binding Path=AddEdgeCommand}" CommandParameter="3"/>
                    <RibbonButton Label="Implements from" LargeImageSource="../Images/class_diagram_relation_implements_from_32.png" SmallImageSource="/UML_Creator;component/Images/class_diagram_relation_implements_from_16.png" Command="{Binding Path=AddEdgeCommand}" CommandParameter="4"/>
                </RibbonGroup>
            </RibbonTab>
            
        </Ribbon>

    </StackPanel>
</UserControl>
